home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Club 2000 October / Software of the Month - Ultimate Collection Shareware 277.iso / pc / PROGRAMS / UTILITY / WINLINUX / DATA1.CAB / programs_-_include / LINUX / AX25.H < prev    next >
C/C++ Source or Header  |  1999-09-17  |  2KB  |  99 lines

  1. /*
  2.  * These are the public elements of the Linux kernel AX.25 code. A similar
  3.  * file netrom.h exists for the NET/ROM protocol.
  4.  */
  5.  
  6. #ifndef    AX25_KERNEL_H
  7. #define    AX25_KERNEL_H
  8.  
  9. #define AX25_MTU    256
  10. #define AX25_MAX_DIGIS  8
  11.  
  12. #define AX25_WINDOW    1
  13. #define AX25_T1        2
  14. #define AX25_N2        3
  15. #define AX25_T3        4
  16. #define AX25_T2        5
  17. #define    AX25_BACKOFF    6
  18. #define    AX25_EXTSEQ    7
  19. #define    AX25_PIDINCL    8
  20. #define AX25_IDLE    9
  21. #define AX25_PACLEN    10
  22. #define AX25_IAMDIGI    12
  23.  
  24. #define AX25_KILL    99
  25.  
  26. #define SIOCAX25GETUID        (SIOCPROTOPRIVATE+0)
  27. #define SIOCAX25ADDUID        (SIOCPROTOPRIVATE+1)
  28. #define SIOCAX25DELUID        (SIOCPROTOPRIVATE+2)
  29. #define SIOCAX25NOUID        (SIOCPROTOPRIVATE+3)
  30. #define SIOCAX25OPTRT        (SIOCPROTOPRIVATE+7)
  31. #define SIOCAX25CTLCON        (SIOCPROTOPRIVATE+8)
  32. #define SIOCAX25GETINFO        (SIOCPROTOPRIVATE+9)
  33. #define SIOCAX25ADDFWD        (SIOCPROTOPRIVATE+10)
  34. #define SIOCAX25DELFWD        (SIOCPROTOPRIVATE+11)
  35.  
  36. #define AX25_SET_RT_IPMODE    2
  37.  
  38. #define AX25_NOUID_DEFAULT    0
  39. #define AX25_NOUID_BLOCK    1
  40.  
  41. typedef struct {
  42.     char        ax25_call[7];    /* 6 call + SSID (shifted ascii!) */
  43. } ax25_address;
  44.  
  45. struct sockaddr_ax25 {
  46.     sa_family_t    sax25_family;
  47.     ax25_address    sax25_call;
  48.     int        sax25_ndigis;
  49.     /* Digipeater ax25_address sets follow */
  50. };
  51.  
  52. #define sax25_uid    sax25_ndigis
  53.  
  54. struct full_sockaddr_ax25 {
  55.     struct sockaddr_ax25 fsa_ax25;
  56.     ax25_address    fsa_digipeater[AX25_MAX_DIGIS];
  57. };
  58.  
  59. struct ax25_routes_struct {
  60.     ax25_address    port_addr;
  61.     ax25_address    dest_addr;
  62.     unsigned char    digi_count;
  63.     ax25_address    digi_addr[AX25_MAX_DIGIS];
  64. };
  65.  
  66. struct ax25_route_opt_struct {
  67.     ax25_address    port_addr;
  68.     ax25_address    dest_addr;
  69.     int        cmd;
  70.     int        arg;
  71. };
  72.  
  73. struct ax25_ctl_struct {
  74.         ax25_address            port_addr;
  75.         ax25_address            source_addr;
  76.         ax25_address            dest_addr;
  77.         unsigned int            cmd;
  78.         unsigned long           arg;
  79.         unsigned char           digi_count;
  80.         ax25_address            digi_addr[AX25_MAX_DIGIS];
  81. };
  82.  
  83. struct ax25_info_struct {
  84.     unsigned int    n2, n2count;
  85.     unsigned int    t1, t1timer;
  86.     unsigned int    t2, t2timer;
  87.     unsigned int    t3, t3timer;
  88.     unsigned int    idle, idletimer;
  89.     unsigned int    state;
  90.     unsigned int    rcv_q, snd_q;
  91. };
  92.  
  93. struct ax25_fwd_struct {
  94.     ax25_address    port_from;
  95.     ax25_address    port_to;
  96. };
  97.  
  98. #endif
  99.